#include "bsp_exti.h"
#include "bsp_gpio.h"
#include "bsp_init.h"
#include "bsp_beep.h"
#include "bsp_delay.h"
#include "bsp_epit.h"

void exti_gpio1_io18_init(void){
    /*初始化gpio*/
    IOMUXC_SetPinMux(IOMUXC_UART1_CTS_B_GPIO1_IO18,0);
    IOMUXC_SetPinConfig(IOMUXC_UART1_CTS_B_GPIO1_IO18,0X7800);
    gpio_pin_config_t GPIO1_IO18_config;
    GPIO1_IO18_config.direction = gpio_input;
    GPIO1_IO18_config.interruputMode = kGPIO_INTFallingEdge;
    gpio_init(GPIO1 , 18 , &GPIO1_IO18_config);

    /*使能GIC中断号*/
    GIC_EnableIRQ(GPIO1_Combined_16_31_IRQn);

    /*注册gpio中断服务函数*/
    system_register_irqhandler(GPIO1_Combined_16_31_IRQn , gpio1_io18_irqhandler, NULL);

    /*使能gpio中断*/
    gpio_interruput_enable(GPIO1 , 18);

}

void gpio1_io18_irqhandler(unsigned int gicciar, void *param){


    /*消抖*/
    EPIT2->CR &= ~(1<<0);
    EPIT2->CR |= (1<<0);




    /*清除gpio中断标志*/
    gpio_interruput_clearflags(GPIO1 , 18);

}